Apparatus and method of composing web document and apparatus of setting web document arrangement

ABSTRACT

An apparatus and method of composing a web document and an apparatus to set a web document arrangement are provided. The apparatus to compose a web document includes a generation module which generates a plurality of frames by analyzing a source of a web document, a composition module which arranges the generated frames using a predetermined frame arrangement mode, and an output module which displays the arranged frames on a screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/896,449 filed Aug. 31, 2007, now issued as U.S. Pat. No. 8,266,521B2, which claims the benefit of Korean Patent Application No.10-2006-0089219 filed on Sep. 14, 2006 in the Korean IntellectualProperty Office, the disclosures of which are incorporated herein byreference in their entirety.

BACKGROUND

1. Field

The present invention relates to an apparatus and method of composing aweb document and an apparatus of setting a web document arrangement, andmore particularly, to an apparatus and method of composing a webdocument and an apparatus of setting a web document arrangement whichcan efficiently output a web document to a device equipped with alimited screen.

2. Description of the Related Art

Recently, an increasing number of devices that can provide web services,such as mobile phones, personal digital assistants (PDAs), Internet TVs,smart phones, web screen phones, and navigators of automobiles have beendeveloped. Web services provide web documents created using suchlanguages as Hyper Text Markup Language, eXtensible Markup Language(XML), and Script. In general, referring to FIG. 1, a web document 10includes a plurality of content items, such as text, moving pictures,and image files. However, since the size of a screen of, for example, amobile phone, is limited, a user is likely to have difficulty in lookingover the web document 10 when the web document 10 is displayed on thescreen of the mobile phone. Therefore, it is necessary to provide a userwith convenient web services by efficiently arranging a plurality ofpieces of information of a web document on a limited screen.

SUMMARY

The present embodiments provide an apparatus and method of composing aweb document and an apparatus to set a web document arrangement whichcan provide users with convenient web services.

However, the aspects of the present embodiments are not restricted tothe one set forth herein. The above and other aspects of the presentembodiments will become more apparent to one of daily skill in the artto which the present invention pertains by referencing a detaileddescription given below.

The foregoing and/or other aspects are achieved by providing anapparatus to compose a web document. The apparatus includes a generationmodule which generates a plurality of frames by analyzing a source of aweb document, a composition module which arranges the generated framesusing a predetermined frame arrangement mode, and an output module whichdisplays the arranged frames on a screen.

The foregoing and/or other aspects are achieved by providing anapparatus to compose a web document. The apparatus includes a generationmodule which generates a plurality of frames by analyzing a source of aweb document, a composition module which arranges the generated framesusing a predetermined frame arrangement mode, and an output module whichdisplays the arranged frames on a screen, where the predetermined framearrangement mode includes at least one of a cascade mode, a thumbnailmode, and a tree mode, the composition module arranges the generatedframes so that titles of the generated frames can be prevented fromoverlapping one another, and, when the number of arranged frames exceedsthe maximum number of frames that can be display on the screen by theoutput module, a number of frames corresponding to a difference betweenthe number of arranged frames and the maximum number of frames that canbe displayed on the screen by the output module are grouped into one ormore tabs, and the tabs are displayed at a predefined location on thescreen.

The foregoing and/or other aspects are achieved by providing anapparatus to set a web document arrangement. The apparatus includes amenu providing module which provides a setting menu to set a framearrangement mode of arranging a plurality of frames on a screen, theframes being generated by analyzing a source of a web document, anarrangement module which arranges the frames using a predetermined framearrangement so that titles of the frames can be prevented fromoverlapping one another, and a display module which displays thearranged frames on the screen.

The apparatus may include a menu providing module setting thepredetermined frame arrangement mode of arranging the plurality offrames on the screen.

The foregoing and/or other aspects are achieved by providing a method ofsetting a web document arrangement, the method including: arranging aplurality of frames on a screen, the frames being generated by analyzinga source of a web document; and grouping the frames for display on thescreen into at least one tab when the frames to be displayed exceed amaximum number of frames that can be displayed on the screen.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features and advantages of the present embodimentswill become more apparent by describing in detail preferred embodimentsthereof with reference to the attached drawings, in which:

FIG. 1 illustrates a web document;

FIG. 2 is a block diagram of an apparatus to compose a web documentaccording to an embodiment;

FIG. 3 is a block diagram of an apparatus to set a web documentarrangement according to an embodiment;

FIG. 4 is a flowchart illustrating a method of composing a web documentaccording to an embodiment;

FIG. 5 is a flowchart illustrating the setting of the output of a webdocument according to an embodiment;

FIGS. 6 and 7 are diagrams for explaining a method of generating a frameof a web document according to an embodiment; and

FIGS. 8 and 9 are diagrams for explaining examples of the arrangement offrames on a screen according to an embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

The present invention will now be described more fully with reference tothe accompanying drawings, in which embodiments are shown. The inventionmay, however, be embodied in many different forms and should not beconstrued as being limited to the embodiments set forth herein; rather,these embodiments are provided so that this disclosure will be thoroughand complete, and will fully convey the concept of the invention tothose skilled in the art. Like reference numerals in the drawings denotelike elements, and thus their description will be omitted.

FIG. 2 is a block diagram of an apparatus 200 to compose a web documentaccording to an embodiment. Referring to FIG. 2, the apparatus 200includes a generation module 210, a composition module 220, and anoutput module 230. The generation module 210 includes a classifier 213and an adjuster 216.

The generation module 210 generates a plurality of frames by analyzingthe source of a web document. A frame is a window with a predeterminedsize and contains the contents of a web document. In detail, thegeneration module 210 searches the source of a web document for tagsthat divide a web document into one or more paragraphs, and generates aframe by combining a plurality of pieces of information included betweena start tag and an end tag that is paired with the start tag. Forexample, assuming that the tags that divide a web document intoparagraphs are defined as “<div>”, the generation module 210 maygenerate a frame by combining a plurality of pieces of informationincluded between a start tag “<div>” and an end tag “</div>”. If asubparagraph using a tag “<table>” exists in “<div> . . . </div>”, thenthe generation module 210 may generate a frame based on eachsub-paragraph. The tags that divide a web document into paragraphs maybe defined as “<div>”, “<p>”, “<table>”, etc., according to a languagethat provides web services, and may be defined as “<div>”, “<p>”, or“<table>”, etc. in advance.

The generation module 210 can determine the title of a frame title basedon information included in the frame. For example, the generation module210 may define a word or phrase that most frequently appears ininformation included in a frame as the title of the frame.Alternatively, the generation module 210 may define a word or phrasethat appears first in a start tag as a frame title. The generationmodule 210 can determine the title of a frame so that a theme of thecorresponding frame can be represented by the frame title.

The classifier 213 analyzes a plurality of pieces of informationincluded in each of the frames generated by the generation module 210and classifies the plurality of pieces of information according to theircontent types. For example, the plurality of pieces of information maybe classified into text, dynamic images, and static image. Then, theadjuster 216 alters at least one of font size, content size, andresolution according to the results of the classification performed bythe classifier 213. For example, when image size and resolution arereduced, the amount of content that needs to be displayed can bereduced, thus increasing the speed of outputting a web document.

The composition module 220 arranges the frames generated by thegeneration module 210 using a predetermined frame arrangement mode.Examples of the predetermined frame arrangement mode include a cascademode, a thumbnail mode, and a tree mode. The composition module 220 mayarrange the frames generated by the generation module 210 so that thetitles of the corresponding frames can be prevented from overlapping oneanother. If the composition module 220 arranges the frames generated bythe generation module 210 as a cascade and a frame is selected from theframe cascade, the composition module 220 may move the selected frameforward to the top of the frame cascade and move a frame that ispreviously followed by the selected frame backward to the bottom of theframe cascade so that the selected frame and the frame that ispreviously followed by the selected frame can become first and lastframes, respectively, of the resulting frame cascade.

The output module 230 displays a sequence of frames obtained by thearrangement performed by the composition module 220 on a screen. Themaximum number of frames that can be displayed on the screen isdetermined according to the size of the screen. If the number of framesobtained by the arrangement performed by the composition module 220exceeds the maximum number of frames that can be displayed on thescreen, then a number of frames corresponding to the difference betweenthe number of frames obtained by the arrangement performed by thecomposition module 220 and the maximum number of frames that can bedisplayed on the screen may be grouped into one or more tabs, and thetabs may be displayed at a predefined location on the screen. Then, ifone of the tabs is selected, the composition module 220 displays as acascade a plurality of frames included in the selected tab on the screenwith the aid of the output module 230.

A user can select one of a plurality of frame arrangement modes that areprovided by the apparatus 200 using an apparatus to set a web documentarrangement, and this will hereinafter be described in detail withreference to FIG. 3.

FIG. 3 is a block diagram of an apparatus 300 to set a web documentarrangement according to an embodiment. Referring to FIG. 3, theapparatus 300 includes a menu providing module 310, an arrangementmodule 320, and a display module 330.

The menu providing module 310 provides a setting menu to set a framearrangement mode of arranging on a screen a plurality of frames that aregenerated through the analysis of a web document. The setting menu mayprovide a cascade mode, a thumbnail mode, and a tree mode, so a user canselect one of the cascade mode, the thumbnail mode, and the tree mode.However, the present embodiment is not restricted to this. In otherwords, the present embodiment can be applied to various framearrangement modes other than the cascade mode, the thumbnail mode, andthe tree mode. The cascade mode may be set as a default framearrangement mode.

If the number of frames to be displayed on a screen exceeds the maximumnumber of frames that can be displayed on the screen, then the menuproviding module 310 may provide a setting menu to group a plurality offrames into one or more tabs, which are small windows that can bedisplayed at a predetermined location on the screen. In other words, ifa user selects a menu item ‘tab’ from a setting menu, a number of framescorresponding to the difference between the number of frames to bedisplayed on the screen and the maximum number of frames that can bedisplayed on the screen may be grouped into one or more tabs, and thetabs may be displayed on the screen.

The arrangement module 320 arranges the frames generated by thegeneration module 210 using a frame arrangement mode that is currentlybeing set. The arrangement module 320 arranges the frames generated bythe generation module 210 so that the titles of the corresponding framescan be prevented from overlapping one another.

The display module 330 displays a sequence of frames obtained by thearrangement performed by the arrangement module 320 on the screen. Ifthe menu item ‘tab’ is selected and the number of frames to be displayedon a screen exceeds the maximum number of frames that can be displayedon the screen, then the display module 330 may group a number of framescorresponding to the difference between the number of frames to bedisplayed on the screen and the maximum number of frames that can bedisplayed on the screen into one or more tabs, and the tabs may bedisplayed at a predefined location on the screen.

The menu providing module 310, the arrangement module 320, and thedisplay module 320 may be included in the apparatus 200 illustrated inFIG. 2. In this case, the composition module 220 of the apparatus 200may arrange a plurality of frames according to a frame arrangement modeset by the menu providing module 310, and the arrangement module 320 andthe display module 330 are optional.

The term “module”, as used herein, denotes, but is not limited to, asoftware component, a hardware component, a plurality of softwarecomponents, a plurality of hardware components, a combination of asoftware component and a hardware component, a combination of aplurality of software components and a hardware component, a combinationof a software component and a plurality of hardware components, or acombination of a plurality of software components and a plurality ofhardware components, which performs certain tasks. A module mayadvantageously be configured to reside on the addressable storagemedium/media and configured to execute on one or more processors. Thus,a module may include, by way of example, components, such as softwarecomponents, application specific software components, object-orientedsoftware components, class components and task components, processes,functions, operations, execution threads, attributes, procedures,subroutines, segments of program code, drivers, firmware, microcode,circuitry, data, databases, data structures, tables, arrays, andvariables. The functionality provided for in the components or modulesmay be combined into fewer components or modules or may be furtherseparated into additional components or modules. Further, the componentsor modules can operate at least one processor (e.g. central processingunit (CPU)) provided in a device. In addition, examples of a hardwarecomponents include an application specific integrated circuit (ASIC) andField Programmable Gate Array (FPGA). As indicated above, a module canalso denote a combination of a software component(s) and a hardwarecomponent(s). These hardware components may also be one or moreprocessors.

The computer readable code/instructions and computer readablemedium/media may be those specially designed and constructed for thepurposes of embodiments, or they may be of the kind well-known andavailable to those skilled in the art of computer hardware and/orcomputer software.

FIG. 4 is a flowchart illustrating a method of composing a web documentaccording to an embodiment. The method illustrated in FIG. 4 may beperformed by the apparatus 200 illustrated in FIG. 2.

Referring to FIG. 4, in operation S401, the generation module 210generates a plurality of frames by analyzing the source of a webdocument. Web documents can be created using various Hyper Text MarkupLanguages (HTMLs). For example, the generation module 210 may search thesource of an HTML web document for a <div> tag, and generate a frameusing information included between the identified <div> tag and a </div>tag that is paired with the identified <div> tag. A plurality of piecesof information included in each of the frames generated by thegeneration module 210 may be classified according to their contenttypes. Then, content size and resolution may be reduced according to theresults of the classification, thereby reducing the amount of contentthat needs to be displayed.

Thereafter, in operation S411, the composition module 220 arranges theframes generated by the generation module 210 using a predeterminedframe arrangement mode. Examples of the predetermined frame arrangementmode include a cascade mode, a thumbnail mode, and a tree mode. Thecomposition module 220 may arrange the frames generated by thegeneration module 210 so that the titles of the corresponding frames canbe prevented from overlapping one another.

In operation S421, the output module 230 displays a sequence of framesobtained by the arrangement performed by the composition module 220 on ascreen. If the number of frames obtained by the arrangement performed bythe composition module 220 exceeds the maximum number of frames that canbe displayed on the screen, then the output module 230 may group anumber of frames corresponding to the difference between the number offrames obtained by the arrangement performed by the composition module220 and the maximum number of frames that can be displayed on the screeninto one or more tabs, and display the tabs at a predefined location onthe screen.

FIG. 5 is a flowchart illustrating the setting of the output of a webdocument according to an embodiment. The method illustrated in FIG. 5may be performed by the apparatus 300 illustrated in FIG. 3.

Referring to FIG. 5, in operation S501, the menu providing module 310provides a setting menu to set a frame arrangement mode of arranging aplurality of frames that are generated through the analysis of thesource of a web document on a screen.

In operation S511, the arrangement module 320 arranges the framesaccording to a predetermined frame arrangement mode set using thesetting menu.

In operation S521, the display module 330 displays a sequence of framesobtained by the arrangement performed in operation S511 on the screen.

FIGS. 6 and 7 are diagrams explaining a method of generating a frame ofa web document according to an embodiment.

Referring to FIG. 6, a web document is generally divided into aplurality of paragraphs 602, 604, and 606 having different themes. Thesource of the web document includes a plurality of tags that divide theweb document into the paragraphs 602, 604, and 606, and the generationmodule 210 of the apparatus 200 illustrated in FIG. 2 uses the tags togenerate a plurality of frames based on the source of the web document.

For example, referring to FIG. 7, if the tags that divide the webdocument into the paragraphs 602, 604, and 606 are defined as <table>(702), then the generation module 210 may generate a frame by combininga plurality of pieces of information included between a start tag<table> and an end tag </table>.

The generation module 210 can determine the title of a frame based oninformation included in the frame. For example, the generation module210 may determine a phrase ‘Favorites’ that follows a tag <tr> (704) asa frame title.

Referring to FIG. 6, information included in each frame may includedifferent types of content items 608 such as text, dynamic images, andstatic images. The classifier 213 classifies the content items 608according to their types. Then, the adjuster 216 adjusts the contentsize and resolution according to the results of the classificationperformed by the classifier 213. For example, size and resolutionadjustment may be performed for content items (e.g., images) with theextension ‘jpg’ or ‘gif’, and content items obtained by the size andresolution adjustment may be displayed in a frame as icons that arepreviously stored in a device.

FIGS. 8 and 9 are diagrams for explaining examples of the arrangement offrames on a screen according to an embodiment.

Referring to FIG. 8, a plurality of frames 802 are arranged as a cascadeso that the titles of the frames 802 can be prevented from overlappingone another. Thus, a user can easily determine the content and structureof a web document, and easily select a frame of his/her interest fromthe frame cascade. If the user selects a frame from the frame cascade,then the composition module 220 of the apparatus 200 illustrated in FIG.2 may move the selected frame to the top of the frame cascade and move aframe that is previously followed by the selected frame to the bottom ofthe frame cascade. For example, if the user clicks on a frame 806 withtitle 3, then a frame 808 with title 2 and a frame 810 with title 1 maybe moved backward to the bottom of the frame cascade, and the frame 806and one or more frames that follow the frame 806 may be moved forward tothe top of the frame cascade.

Referring to FIG. 8, if a user moves from one frame to another in adirection (A) by clicking a button or using a scroll function, framesthat are previously located near the bottom of the frame cascade may bemoved forward, and frames that are previously located near the top ofthe frame cascade may be moved backward, for example.

Referring to FIG. 9, a plurality of frames 802 may be arranged in athumbnail mode 902. Alternatively, the frames 802 may be arranged in atree mode 904. In detail, in the thumbnail mode 902, the frames 802 maybe arranged as blocks having a predefined size, where the predefinedblock size is determined according to the size of a screen on which theframes 802 are to be displayed. In the tree mode 904, the frames 802 maybe arranged as a tree having of one or more parent frames, each parentframe having one or more child frames. For example, when tags thatdivide a web document into paragraphs are defined as <table>, a frame901 can be generated first based on information included between a starttag <table> and an end tag </table>. If the frame 901 includes another<table> tag, one or more frames can be generated as child frames 903 ofthe frame 901 based on the <table> tag in the frame 901, so that thechild frames 903 belong to a lower level than the frame 901. In general,a web document can be divided into paragraphs having different themes,and each of the paragraphs can be divided into sub-paragraphs havingsub-themes. Therefore, the tree mode 904 can enable a user to easilydetermine the content and structure of web documents and to easilyselect web documents of his/her interest. According to the presentembodiment, a state indicator 905 may be displayed on the screen inorder to indicate whether a frame having one or more child frames isopened or closed. If a user clicks on the state indicator 905 for aclosed frame, the frame may be opened so that the frame and a number ofchild frames of the frame are displayed as a tree.

Referring to FIG. 8, if the number of frames that need to be displayedon a screen exceeds the maximum number of frames that can be displayedon the screen, then a number of frames corresponding to the differencebetween the number of frames that need to be displayed on the screen andthe maximum number of frames that can be displayed on the screen may begrouped into one or more tabs, and the tabs may be displayed on thescreen. For example, if the maximum number of frames that can beproperly displayed on the screen without overlapping their titles andthe number of frames that need to be displayed on the screen is greaterthan 10, then a number of frames corresponding to the maximum number offrames that can be properly displayed on the screen and the number offrames that need to be displayed on the screen are divided into one ormore tabs 804, each tab including ten frames. If a user selects one ofthe tabs 804, then a plurality of frames included in the selected tab804 may be displayed on the screen as a cascade.

As described above, the apparatus and method of composing a web documentand the method of setting a web document arrangement according to thepresent embodiment have the following advantages.

First, it possible to effectively display web documents on a limitedscreen.

Second, it is possible to maximize user convenience by appropriatelydeciding how to arrange web documents.

Although a few embodiments have been shown and described, it would beappreciated by those skilled in the art that changes may be made inthese embodiments without departing from the principles and spirit ofthe invention, the scope of which is defined in the claims and theirequivalents.

What is claimed is:
 1. An apparatus to compose a web document, theapparatus comprising: a processor to control one or moreprocessor-executable modules; a generation module generating a pluralityof frames by analyzing a source of a web document; a composition moduleto arrange the generated frames using a predetermined frame arrangementmode that comprises overlapping the generated frames with each otherwhile preventing titles of the overlapped frames from being overlappedby another frame; and an output module displaying the arranged frames ona screen, wherein: the generation module generates each title of eachframe based on information included in a corresponding frame, the outputmodule displays a maximum number of frames on the screen, the maximumnumber being determined according to a size of the screen, and when anumber of the arranged frames exceeds the maximum number of frames thatcan be displayed on the screen by the output module, the output modulegroups a number of frames corresponding to a difference between thenumber of arranged frames and the maximum number of frames that can bedisplayed on the screen by the output module into one or more tabs, anddisplays the tabs at a predefined location on the screen.
 2. Theapparatus of claim 1, wherein: the predetermined frame arrangement modeincludes at least one of a cascade mode, a thumbnail mode, and a treemode.
 3. The apparatus of claim 1, wherein, when one of the arrangedframes is selected, the composition module moves the selected frameforward and moves a frame previously followed by the selected framebackward so that the selected frame becomes a first frame and the framepreviously followed by the selected frame becomes a last frame.
 4. Theapparatus of claim 1, wherein, when one of the tabs is selected, thecomposition module arranges a plurality of frames included in theselected tab on the screen as a cascade.
 5. The apparatus of claim 1,wherein the generation module searches for tags that divide the webdocument into one or more paragraphs and generates a frame based on aplurality of pieces of information included between a start tag and anend tag that is paired with the start tag.
 6. The apparatus of claim 1,further comprising a menu providing a module setting the predeterminedframe arrangement mode of arranging the plurality of frames on thescreen.
 7. The apparatus of claim 1, wherein the generation modulegenerates each title of each frame to represent a theme of thecorresponding frame.
 8. The apparatus of claim 1, wherein the generationmodule defines a word or phrase that most frequently appears ininformation included in a frame as a title of the corresponding frame.9. A method of composing a web document, the method comprising:generating a plurality of frames by analyzing a source of a webdocument; arranging, using a processor, the generated frames using apredetermined frame arrangement mode that comprises overlapping thegenerated frames with each other while preventing titles of theoverlapped frames from being overlapped by another frame; and displayingthe arranged frames on a screen, wherein: in the generating of theplurality of frames, each title of each frame is generated based oninformation included in a corresponding frame, and the displayingcomprises: displaying a maximum number of frames on the screen, themaximum number of frames being determined according to a size of thescreen; and when a number of the arranged frames exceeds the maximumnumber of frames that can be displayed on the screen, grouping a numberof frames corresponding to a difference between the number of arrangedframes and the maximum number of frames that can be displayed on thescreen into one or more tabs, and displaying the tabs at a predefinedlocation on the screen.
 10. The method of claim 9, wherein: thepredetermined frame arrangement mode comprises at least one of a cascademode, a thumbnail mode, and a tree mode.
 11. The method of claim 9,wherein the arranging comprises, when one of the arranged frames isselected, moving the selected frame forward and moving a framepreviously followed by the selected frame backward so that the selectedframe becomes a first frame and the frame previously followed by theselected frame becomes a last frame.
 12. The method of claim 9, whereinthe arranging comprises, when a tab of the one or more tabs is selected,arranging a plurality of frames included in the selected tab on thescreen as a cascade.
 13. The method of claim 9, wherein the generatingcomprises searching for tags that divide the web document intoparagraphs and generating a frame based on a plurality of pieces ofinformation included between a start tag and an end tag that is pairedwith the start tag.